to your HTML Add class="sortable" to any table you'd like to make sortable Click on the headers to sort Thanks to many, many people for contributions and suggestions. Licenced as X11: http://www.kryogenix.org/code/browser/licence.html This basically means: do what you want with it. */ var stIsIE = /*@cc_on!@*/false; sorttable = { init: function() { // quit if this function has already been called if (arguments.callee.done) return; // flag this function so we don't do the same thing twice arguments.callee.done = true; // kill the timer if (_timer) clearInterval(_timer); if (!document.createElement || !document.getElementsByTagName) return; sorttable.DATE_RE = /^(\d\d?)[\/\.-](\d\d?)[\/\.-]((\d\d)?\d\d)$/; forEach(document.getElementsByTagName('table'), function(table) { if (table.className.search(/\bsortable\b/) != -1) { sorttable.makeSortable(table); } }); }, makeSortable: function(table) { if (table.getElementsByTagName('thead').length == 0) { // table doesn't have a tHead. Since it should have, create one and // put the first table row in it. the = document.createElement('thead'); the.appendChild(table.rows[0]); table.insertBefore(the,table.firstChild); } // Safari doesn't support table.tHead, sigh if (table.tHead == null) table.tHead = table.getElementsByTagName('thead')[0]; if (table.tHead.rows.length != 1) return; // can't cope with two header rows // Sorttable v1 put rows with a class of "sortbottom" at the bottom (as // "total" rows, for example). This is B&R, since what you're supposed // to do is put them in a tfoot. So, if there are sortbottom rows, // for backwards compatibility, move them to tfoot (creating it if needed). sortbottomrows = []; for (var i=0; i
Quite a lot has happened since the last time we looked at now the pace at which carbon dioxide is accumulating in the Earth's air is changing.
The reporting of atmospheric CO₂ concentration data collected at the remote Mauna Loa Observatory has been delayed, not just because of the Senate Democrats' government shutdown fiasco, but also because of staff changes at the National Oceanic and Atmospheric Administration. The latest data that the NOAA used to routinely publish on or shortly after the fifth of each month hasn't been available on that schedule. At this writing, the CO₂ data is only available through February 2026.
That's okay this time around because it lets us present a timely snapshot of what the trend for that data was before the geopolitical event of the Iran War took place. The Iran War didn't begin until 28 February 2026, which means whatever disruptive impact it has had on oil and gas production, shipping, and consumption isn't yet included in the dataset.
The following chart shows how the rate at which carbon dioxide has been changing in the Earth's atmosphere from January 2000 through February 2026:
Atmospheric carbon dioxide concentration data lags behind changes in CO₂ output from human activities, taking several weeks to diffuse into the Earth's air after being emitted. For example, the peak in January 2025 coincides with Chinese emissions peaking in December 2024, which itself coincides with efforts by China's exporters to crank up production to beat the clock on new U.S. trade tariffs going into effect in 2025. January 2025 saw the Biden administration final tariff increases go into effect, while President Trump's new tariffs were put into effect in April 2025. Not uncoincidentally, there's a short spike upward in May 2025 that would correspond with a surge by producers in China to beat the clock on April 2025's tariffs.
Since the atmosphere's pace of CO₂ accumulation peaked at 3.57 ppm in January 2025, it has fallen by a full 1.00 ppm to 2.57 ppm through February 2026. With an estimated world population of 8.005 billion people, that drop represents roughly a reduction of 7.8 billion metric tonnes of carbon dioxide emissions. It also represents an estimated $33.23 trillion decline in the world's GDP in the last 13 months.
China's reduced output of carbon dioxide emissions, primarily stemming from its involuntarily reduced industrial output, represents a large share of that overall decline. If not for the impact of the global tariff war, it is highly unlikely a decline of this magnitude would have occurred in the absence of a major global recession.
Or perhaps a highly disruptive geopolitical event, like the Iran War, which has an outsized scope. Our next few snapshots will give a measure of just how disruptive the Iran War has been for the Earth's economy.
National Oceanographic and Atmospheric Administration. Earth System Research Laboratory. Mauna Loa Observatory CO2 Data. [Online Data]. Data as of 5 March 2026.
Image Credit: CO2 Skywriting photo by Matthias Heyde on Unsplash.
Labels: environment
The United States' top export to China is soybeans. That's why the news the U.S. and China had struck a trade deal at the end of October 2025 was so exciting, because it came with a commitment from China to buy 12 million metric tons of U.S.-grown soybeans.
China's soybean buyers completed their purchases before the end of 2025, the bulk of which were exported in December 2025 and January 2026. But instead of giving a large boost to trade between the two nations, that increase in exports only delivered a small increase over the November 2025 low, with the boost offset by the falling level of trade of other goods.
In February 2026, the boost from the negotiated soybean sales to China ended and the combined value of goods exchanged between the U.S. and China fell to $26.9 billion. That level falls below the 2020 Coronavirus Pandemic low for this data series.
The following chart shows that negative data trend for the monthly value of trade between the U.S. and China.
We had anticipated a larger boost to that overall trade from China's soybean purchases from the U.S., but that impact has proven to be disappointing.
It's clear the level of trade won't return to its pre-2025 tariff war levels anytime soon. The trailing twelve month average of that trade is $18.8 billion below our counterfactual projection of what the level of trade between the U.S. and China would look like in the absence of the trade war between them in February 2026.
That brings the decline in the trailing twelve month average of the direct trade between the U.S. and China to a cumulative loss of $108.5 billion in the value of goods exchanged between the U.S. and China.
Meanwhile, reports indicate China is turning to alternatives to reduce its need to import large quantities of soybeans, which if successful, will negatively impact soybean farmers in both the U.S. and Brazil, the largest exporters of soybeans to China:
At the edge of one of the many pig farms spread across the vast, unbroken floodplains of Taizhou, a two-hour drive northwest of Shanghai, a pair of square, four-metre pools of acrid-smelling ochre liquid hold the key to cutting costly soybean use in half.
The pools hold a swill of cheaper, locally sourced ingredients, which can include brans, pumpkin vines and wine lees. But it is fermented - like yogurt - so the proteins are already broken down and easy to digest, lessening the need for the higher-quality proteins in soy, 80% of which China imports....
The government sharply accelerated a drive to expand protein sources for livestock in March of last year, just as trade tensions ramped up early into President Donald Trump's second term. Soybeans quickly became a key bargaining chip.
Reuters interviews with dozens of livestock and feed producers, state researchers and industry experts revealed Beijing is moving faster than previously thought to deploy new technologies and promote fermented feed.
It's the agricultural equivalent of Beijing's campaign to build domestic capabilities in microchips and artificial intelligence, catalysed by Washington's stringent controls on advanced technology exports to China.
A permanent loss of soybean exports would further hammer the level of trade between the U.S. and China.
U.S. Census Bureau. U.S. International Trade in Goods and Services (FT900). U.S. Trade in Goods with China, Not Seasonally Adjusted, Nominal Figures, Total Census Basis. [Online database]. Accessed 19 February 2026.
Image Credit: Brown cardboard ampersand concrete statue inside an intermodal container photo by Jan Baborák on Unsplash.
Labels: trade
According to the U.S. Bureau of Labor Statistics' latest jobs data, the number of employed Americans fell by a seasonally-adjusted 64,000 since February, dropping to 162,848,000 in March 2026.
Normally, that situation wouldn't bode well for U.S. teens, but the same employment situation report indicates the number of Age 16 to 19-year-olds counted as having jobs rose by 68,000 from February to March.
Both younger teens (Age 16-17) and older teens (Age 18-19) saw gains. The number of younger teens increased by 37,000 to a seasonally-adjusted 2,000,000 and the number of working older teens grew by 41,000 to 3,459,000.
The following pair of charts presents the seasonally-adjusted data for both the number of teens employed in each of these age categories and also the U.S. teen employment-to-population ratio for the period from January 2021 through March 2026.
Since the total number of seasonally-adjusted jobs fell while the number of working teens increased, that means the number of Americans Age 20 or older had to fall. Which it did, dropping 132,000 to a seasonally-adjusted 157,423,000 in March 2026.
Note that for this jobs data, each demographic gets its own seasonal adjustment, which means this data won't necessarily add up to the seasonally adjusted total for the combined population. If you want numbers that do add up, you'll want to extract the non-seasonally adjusted data from the BLS' labor force statistics database.
Overall, the March 2026 employment situation data is a little strange. Perhaps its strangeness is attributable to run-of-the-mill sampling variation, but we'll know if there's something more behind it over the next few months.
U.S. Bureau of Labor Statistics. Labor Force Statistics (Current Population Survey - CPS). [Online Database]. Accessed: 2 April 2026.
Image Credit: The word JOBS in colorful block letters photo by Sasun Bughdaryan on Unsplash.
Labels: demographics, jobs
The S&P 500 (Index: SPX) recovered during the Good Friday holiday-shortened trading week. The index closed at 6,582.69 on Thursday, 2 April 2026, up nearly 3.4% from its previous trading week's close.
Given that the week featured news of higher oil and fuel prices, which has been a catalyst for falling stock prices in recent weeks, that outcome seems paradoxical. When you add a surprisingly strong jobs report into the mix, it would seem certain the Federal Reserve would be more likely to hike interest rates in upcoming months. After all, the fear of the Fed raising interest rates to fight inflation from the Iran war surge of oil prices has been front and center in financial news headlines in shaping investor expectations of the future.
But the week saw something different with the actual expectations for how the Fed would be setting interest rates through the end of 2026. The CME Group's FedWatch Tool foresees no interest rate changes through the end of 2026, with a much lower probability of any rate hike taking place. The FedWatch tool even sees a growing chance for a quarter point rate cut in 2027, with the most likely timing of that change coming near the end of 2027-Q3.
What's going on is that the oil price surge is now raising the potential of a recessionary contraction in the U.S. economy, which increased after President Trump's mid-week speech boosted the prospect the Iran war would intensify in the near term rather than come to a resolution as had previously been expected. The heightened risk of contraction would forestall the Fed from hiking rates in 2026 and would support the S&P 500 holding onto its gains during the week in the absence of additional information for how that would affect the various parts of the U.S. economy. The latest update of the alternative futures chart shows the rebound:
As the geopolitical event progresses, we're likely to continue seeing an elaborate dance between investors expectations for inflationary pressures related to the disruption of oil markets, interest rates, and the outlook for businesses as the economy copes with all of it. The market moving headlines of the week that was gives a taste of those dynamics:
The Atlanta Fed's GDPNow tool forecast of real GDP growth in 2026-Q1 slowed to +2.0%, declining from the +2.0% growth anticipated a week earlier.
Image credit: Microsoft Copilot Designer. Prompt: "An editorial cartoon of a suit-wearing Wall Street bull and bear who look confused after reading a news ticker that says 'OIL PRICES UP' and 'JOBS GOOD' and 'NO RATE CUTS' and 'NO RATE HIKES EITHER'". We made some minor tweaks to the colors of the words in the generated image and their layout to produce the featured cartoon.
The market capitalization of the S&P 500 (Index: SPX) shrank in the first quarter of 2026. Picking up from our Fall 2025 snapshot when the index' market cap was $59.32 trillion, as of the end of 2026-Q1, it has fallen nearly 1.5% to $58.44 trillion for this Spring 2026 snapshot.
In between then and now, the S&P 500's market cap clocked in with a market cap of $60.80 trillion at the end of 2025-Q4, which is the value we would have reported in our Winter 2025 snapshot had we presented it. In the three months since, the total valuation of all 503 stocks included in the S&P 500 has dropped 3.9%.
Much of the change in the index's value during this time was concentrated within the top ten component stocks that make up the benchmark index. At the end of 2025-Q3, they represented 38.9% of the value of the entire index, which increased to 39.2% at the end of 2025-Q4. After the end of 2026-Q1 however, their share of the index has declined to 36.9%.
The following chart shows the relative shares of the top 10 stocks in the S&P 500 at the end of the first quarter of 2026.
Here are the approximate market capitalizations of each of the S&P 500's top ten component firms at the end trading on 31 March 2026:
All ten of these firms have trillion dollar market caps, with Berkshire Hathaway joining the trillion-dollar club during the past six months.
Standard and Poor. S&P 500 Factsheet. [PDF Document]. 31 March 2026. Accessed 1 April 2026.
SlickCharts. S&P 500 Component Weights. Accessed 1 April 2026.
Labels: market cap, SP 500
Welcome to the blogosphere's toolchest! Here, unlike other blogs dedicated to analyzing current events, we create easy-to-use, simple tools to do the math related to them so you can get in on the action too! If you would like to learn more about these tools, or if you would like to contribute ideas to develop for this blog, please e-mail us at:
ironman at politicalcalculations
Thanks in advance!
Closing values for previous trading day.
This site is primarily powered by:
The tools on this site are built using JavaScript. If you would like to learn more, one of the best free resources on the web is available at W3Schools.com.